UIElementsについて


概要

やっと触るタイミングができた

感想:宣言的な感じでもなく、ベターデフォルトではあるかもしれないが、うーん、、、

単なるベターuGUIのラッパーっぽい。嬉しいか?というと、うーん、、、



どのへんがベターか

uGUIをそのまま使うとヤバいUIが出来上がるが、特にタッチ入力に対していろんな閾値を、uGUI以上にデフォルトで頑張っていそう。

例えばスライダーとかは、マウスについてくる感触がちょっと綺麗な滑らかさがある状態になっており、

要するにわざと遅延している。


同じような入力に対する要素はリストにもある感じ。このへんは画面外に行ったらどうこうとかも頑張って書くんだろうか。


-> ちょっとよくわからん感じはあるが、画面外の概念はあるんだけどな、、、要素が画面に入ったら、みたいな、

セルありビューに該当するようなものは不明だった。まあいいか、、とりあえず使える、ヘルパー色々書くけど、、、



デバッガー相当のUIToolkitDebuggerで、テキストサイズを変更するとバグりまくることがあり、再現性もあるのでしんどい。

ここでデザインを考える、、とかではなく、決まったデザインの値を試行錯誤 + 作業的にアタッチする場所っぽい。


そんなつまらないところまでCSSに似ないでも、、、



何ができるか

・Unity Editorの画面をC#コードでGUIWindowのOnEnableでガリガリ書ける

・actionとかもセットできるし解除できる(ただactionの有無で見た目が変わんなそう)



メモ

UXMLに対してどんなプロパティを書くとどうなるかは、次の方法で試すと全体像がわかりやすい。

1. UI Builder(これ書いてる時はpreview)パッケージを入れて、適当にuxmlを吐き出す

2. uxmlを手で編集し、プレビューが見たくなったらUI Builderのウィンドウを開く

3. これってどういう文字列入れるとこうなるの?とかがあったらUI Builderから要素を選択して適当にいじり、保存してuxmlを見て理解する


UIBuilder自体はpreviewだけあって一ミクロンも信頼できない挙動をしている。

とりあえず操作を行なったその一瞬だけはなんとなくマトモそうな挙動をしているので、そこだけを信じよう。


というかWIndow > UIToolKit > Samples ってとこから開くウィンドウからも、「こんなの書いたらこんなの出るよ」はみれるんだね。

スクリーンショット 2021-07-26 17.14.52.png

いやレイアウト関連は虚無なんだけどさ、、参考になった。



感想

Unityゲームプログラミングバイブルにちょっと書いてあったので読むついでにやるかーってなってやっと重い腰を上げた感じなんだけど、

初期化タイミングが一発で済んでいる + IMGUIでぶち当たりがちだったEditor UIでの随時更新系のエラーが出ないだけでもとても好印象。


だめだ、つまりUIに関する生活が貧しすぎる。

いろいろなエディタ系のUIを刷新していくにあたっては有効そう、だがussとかを独自に触りたいかというとノーサンクユーという感じで、

C#をガリガリ書いてUIツリーを作ったり自動生成したりするのには楽そうだなあと思った。


さよならOnGUIみたいな。そんだけの価値はありそう。